package cn.xd.base.application.service.query;

import cn.xd.base.application.dto.query.AdminOrgQuery;
import cn.xd.base.domain.bean.response.AdminOrgDTO;
import cn.xd.base.domain.bean.response.JsonAdminOrgTree;

import java.util.List;

public interface AdminOrgQueryAppService {
    /**
     * 查询菜单不分页
     *
     * @param adminMenuQuery
     * @return
     */
    List<AdminOrgDTO> getAdminOrgList(AdminOrgQuery adminOrgQuery);

    Boolean checkHasName(String name, Long parentId, Long id);

    /**
     * 通过机构角色查询拥有的所有机构及其下属机构
     *
     * @param orgRoleId
     * @return
     */

    List<Long> getAdminOrgChildrenIds(Long orgRoleId);

//    List<Long> getAdminOrgNotChildrenIds(Long orgId);

    JsonAdminOrgTree getAdminOrgJsonTree(Long id);

    /**
     * 查询菜单(tree型)
     *
     * @param parentId
     * @return
     */
    List<JsonAdminOrgTree> getAdminOrgJsonTreeByParentId(Long parentId);
}
